# -*- coding: utf-8 -*-
class IPosturaCambiable:
	
	"""
	Interfaz que es implementada por todos los objetos que pueden cambiar de postura segun el Enum _postura (especificado abajo).
	@since: 4/14/2011
	@version: 1.0
	"""
	
	_postura = 0
	"""
	Variable (enum) que indica la postura del ente que lo posea.
	0: parado
	1: sentado
	2: acostado
	"""
	
	def __init__(self, postura=0):
		"""
		Metodo Constructor
		@type	self: IPosturaCambiable
		@param	self: referencia al IPosturaCambiable actual
		
		@type	postura: int
		@param	postura: valor de la postura poseida, si no se especifica se asume 0
		"""
		_postura = postura

	def getPostura(self):
		"""
		Metodo para obtener la postura en forma de int
		@type	self: IPosturaCambiable
		@param	self: referencia al IPosturaCambiable actual
		"""
		return self._postura
	
	def getPosturaString(self):
		"""
		Metodo para obtener la postura en forma de string
		@type	self: IPosturaCambiable
		@param	self: referencia al IPosturaCambiable actual
		"""
		if (self._postura == 0):
			return "parado"
		elif (self._postura == 1):
			return "sentado"
		elif (self._postura == 2):
			return "acostado"
		
	def setPostura(self, x):
		"""
		Metodo para asignar la postura
		@type	self: IPosturaCambiable
		@param	self: referencia al IPosturaCambiable actual
		
		@type	x: int
		@param 	x: nueva postura a asignar
		"""
		self._postura = x